// @Date         2021-11-17
// @Author       Aaron Zhang
// @Description
// @FileName      provider.go

package trace

import (
	"zin/framework"
	"zin/framework/contract"
)

type ProviderTrace struct {
	c framework.Container
}

func (provider *ProviderTrace) Register(c framework.Container) framework.NewInstance {
	return NewProviderServiceTrace
}

func (provider *ProviderTrace) Boot(c framework.Container) error {
	provider.c = c
	return nil
}

func (provider *ProviderTrace) IsDefer() bool {
	return false
}

func (provider *ProviderTrace) Params(param map[string]interface{}) map[string]interface{} {
	return param
}

func (provider *ProviderTrace) Name() string {
	return contract.ProviderKeyTrace
}
